package com.yunzhong.appointment.mapper;

import com.yunzhong.appointment.entity.Person;
import com.yunzhong.appointment.system.page.DoctorPage;
import com.yunzhong.appointment.util.PageData;
import org.apache.ibatis.annotations.Update;

import java.util.List;

public interface PersonMapper {
    int deleteByPrimaryKey(String ppId);

    int insert(Person record);

    int insertSelective(Person record);

    Person selectByPrimaryKey(String ppId);

    int updateByPrimaryKeySelective(Person record);

    int updateByPrimaryKey(Person record);
    
    /**
     * @description 查询人员分页数据
     * @author 石洪刚
     * @time 2017年8月16日00:03:11
     * @return
     */
	List<Person> listPerson(PageData pd);
	/**
	 * 
	 * @methodName setUserIdNullByUserId
	 * @description 设置用户主键为NULL
	 * @author 石洪刚
	 * @time 2017年10月5日 下午7:35:48
	 * @param id
	 */
	@Update("update person set user_id = NULL where user_id = #{id}")
	void updateUserIdNullByUserId(String id);
	/**
	 * 
	 * @methodName updateDpNullByDpId
	 * @description 根据部门主键更新部门和职称信息更新为null
	 * @author 石洪刚
	 * @time 2017年11月14日 下午9:59:57
	 * @param id
	 */
	@Update("update person set department_id = NULL, department_name = NULL, professional_id = NULL, professional_name = NULL, doctor_pay = NULL where department_id = #{id}")
	void updateDpNullByDpId(String id);
	@Update("update person set professional_id = NULL, professional_name = NULL, doctor_pay = NULL where professional_id = #{id}")
	void updateProNullByProId(String id);

    List<Person> queryByKsId(String id);

    Person queryDoctorById(String id);

    List<Person> listQdatdName(DoctorPage page);
}